Skip to content

interop: Topology and Tx Flow for Interop Chain Operation #218

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Mar 26, 2025

Conversation

tynes
Copy link
Contributor

@tynes tynes commented Mar 19, 2025

Description

Design doc that is meant to define clearly the topology for a cloud
deployment of an OP Stack cluster. This is not meant to define the
only way to deploy a cluster, but is the architecture that we will
do our security review against to ensure that it is not possible to
attack a cluster.

Design doc that is meant to define clearly the topology for a cloud
deployment of an OP Stack cluster. This is not meant to define the
only way to deploy a cluster, but is the architecture that we will
do our security review against to ensure that it is not possible to
attack a cluster.
Copy link
Contributor

@axelKingsley axelKingsley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think in general I agree with the premise here: we need to economical with our calls to the supervisor, or else RPC communication will dominate the block-building time, creating the potential that the supervisor can't build fast enough if enough interop transactions occur.

There are lots of places for us to dial things in, and I really agree with:

  • Proxyd/Ingress pre-checks, which can use cross-unsafe as the minimum safety
  • Regular interval re-checking in the mempool, because the older a tx is, the less accurate the previous check may be.
  • Batching calls to the supervisor where possible

I think we can likely set up a batch-submission scheme for the block builder which puts interop checks very near to the block-building while avoiding making many calls -- basically just batch up all the AccessLists for the next X transactions that are going to be applied to the block. I talk about that in more detail in a comment below.

In general I am concerned with time delta between interop checks and tx inclusion. Optimism L2s currently reorg very rarely, but one new reorg vector we are introducting is invalid interop Tx. While it's true that a message may become invalid after unsafe inclusion, that doesn't convince me that checking at build time isn't valuable. If I really wanted to I could make the argument that "L2 chains basically never reorg, so we should just check at proxyd, and then never again".

Hard agree that we need to take measurements to best decide where to set the dial to. We'll need to design those experiments.

Co-authored-by: Axel Kingsley <[email protected]>
@tynes
Copy link
Contributor Author

tynes commented Mar 19, 2025

@axelKingsley Wondering if you could help articulate the differences between standard/managed mode, their value props and how it compares to running 1 supervisor per set of replicas. I would like to contain that context in this document so that we can present a unified piece of information to the platforms team

@tynes tynes moved this to In Review in Protocol Team Mar 20, 2025
@tynes tynes added this to the Interop RC Alpha milestone Mar 20, 2025
@tynes tynes self-assigned this Mar 24, 2025
@tynes tynes marked this pull request as ready for review March 24, 2025 20:55
@axelKingsley axelKingsley changed the title interop: design doc for topology interop: Topology and Tx Flow for Interop Chain Operation Mar 25, 2025
@tynes
Copy link
Contributor Author

tynes commented Mar 25, 2025

This looks great to me, thank you @axelKingsley! I cannot approve it given that I opened the PR, but would if i could

@axelKingsley axelKingsley moved this from In Review to Done in Protocol Team Mar 26, 2025
@tynes tynes merged commit f3aa2db into main Mar 26, 2025
@tynes tynes deleted the design/topology branch March 26, 2025 18:37
teddyknox pushed a commit that referenced this pull request Mar 27, 2025
* interop: design doc for topology

Design doc that is meant to define clearly the topology for a cloud
deployment of an OP Stack cluster. This is not meant to define the
only way to deploy a cluster, but is the architecture that we will
do our security review against to ensure that it is not possible to
attack a cluster.

* typo: fix

Co-authored-by: Axel Kingsley <[email protected]>

* Add Host Redundancy Topic

* Editorial Pass

* Unsaved edits

* Add Conductor Action Item

* Explicit op-geth mention

---------

Co-authored-by: Axel Kingsley <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants